home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
PET
/
P-New PET 1983
/
(p)mb.d64
/
making change.40
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-04-28
|
6KB
|
181 lines
1 GOTO910
2 PRINT"x[169][141][169][141]X` [234][255][169][255][133][145]L4[234]x[169]1[141][169][234][141]X`
3 [153]"xSTEPGINPUTSTOPSTEPINPUTONX` (null)(null)STEP(null)INPUTLISTLX(null)xSTEPUINPUTSTOPSTEP(null)INPUTONX`
4 PRINT"xhhh[170]h[168]hhhhhhh[152]H[138]HX`
5 [153]"hhhhhhh`
6 PRINT"[160][255][200][132][251][169][216][133][252] [241][183][138][162][160][255][200][145][251][136][208][251][230][252][202][208][246]`
7 [153]"NEWCLOSE(null)LEFT$>(null)ON(null)LET(null)(null)(null)(null)(null)(null)MID$(null)(null)`
35 IFUW=0THENSYSUU,15
40 POKEUC,0:POKEUN,0:UR$="":UI$="":IFUL=0THENUL=39
45 GETUI$:IFUI$=""THEN45
50 UA=ASC(UI$):UR=LEN(UR$):IFUA=13ANDUR>0THENPOKEUC,1:PRINT" [157]";:GOTO70
55 IFUA=20THENON-(UR=0)GOTO45:UR$=LEFT$(UR$,UR-1):PRINT"[157] [157][157]";:GOTO45
60 IFUR=ULTHEN45
65 GOSUB95:UR$=UR$+UI$:PRINTUI$;:GOTO45
70 IFUR$=UX$THENPRINT"[157] ";:GOTO145
75 FORUI=URTO1STEP-1:IFMID$(UR$,UI,1)=" "THENNEXT
80 UR$=LEFT$(UR$,UI):PRINT:RETURN
95 IFLEN(US$)=0THEN110
100 FORUI=1TOLEN(US$):IFUI$<>MID$(US$,UI,1)THENNEXT:UI$=""
105 RETURN
110 IFUA=46THENRETURN
115 IFUA=32ANDUR<>0THENRETURN
120 IFUA>47ANDUA<58THENRETURN
125 IFUA>64ANDUA<91THENRETURN
130 IFUA<193ORUA>218THENUI$="":RETURN
135 IFPEEK(UT)=UU%THENUI$=CHR$(UA-128)
140 RETURN
145 GOSUB170:POKE251,0:POKE252,US/256:POKE253,0:POKE254,UF:SYSUV
150 UZ=1:UV%=PEEK(UT):GOTO300
155 UZ=0:US$=UJ$:UG$=UK$:UT$=UL$:UP=UJ:UL=UK:PRINT"[147]";:IFUW=0THENPOKEUY,6:POKEUX,14
160 POKEUT,UV%:POKE251,0:POKE252,UF:POKE253,0:POKE254,US/256:SYSUV:IFUW=0THENSYSUU,15
165 POKEU1,U1%:POKEU2,U2%:POKEU3,U3%-1:POKEU4,U4%:GOTO35
170 U1%=PEEK(U1):U2%=PEEK(U2):U3%=PEEK(U3):U4%=PEEK(U4)
175 UJ$=US$:UK$=UG$:UL$=UT$:UJ=UP:UK=UL:RETURN
300 PRINT"[147]":POKEUT,UU%:IFUW=0THENPOKEUY,12:POKEUX,6
305 PRINT" M E N U"
310 PRINT" --------------------------------"
315 PRINT" 1. BEGIN MAKING CHANGE"
320 PRINT" 2. STUDENT INSTRUCTIONS"
325 PRINT" 3. TEACHER INSTRUCTIONS"
330 PRINT" 4. QUIT"
335 PRINT" --------------------------------"
340 PRINT" PRESS A NUMBER KEY (1-4) ";
345 UL=1:US$="1234"
347 GOSUB35:US$=""
350 ONVAL(UR$)GOSUB1000,400,500,390
355 GOTO300
370 IFUZ=1THENSYSUP%:GOTO155
375 RETURN
390 SYSUE:PRINT"[154][147]":IFUW=0THENPOKEUY,6:POKEUX,14:SYSUU,14
395 CLR:END
400 PRINT"[147]":POKEUT,UL%:IFUW=0THENPOKEUY,11:POKEUX,12
405 UT$=" [205]AKING [195]HANGE":UH=1:UP=0:UG$="[211]TUDENT [201]NST":GOSUB850
440 PRINT" [217]OU MUST MAKE CHANGE FOR THE AMOUNT"
450 PRINT" GIVEN USING AS FEW COINS AS POSSIBLE."
451 PRINT" [212]O ACCOMPLISH THIS, USE THE NUMBER"
452 PRINT" KEYS AND ENTER THE RIGHT NUMBER OF"
453 PRINT" BILLS OR SILVER, DEPENDING ON THE"
454 PRINT" AMOUNT NEEDED. [196]ON'T FORGET TO PRESS"
455 PRINT" THE <RETURN> KEY AFTER EACH ENTRY."
485 GOSUB835
490 IFUZ=1THENSYSUP%:GOTO155
495 RETURN
500 PRINT"[147]":POKEUT,UL%:IFUW=0THENPOKEUY,2:POKEUX,10
501 UT$=" [205]AKING [195]HANGE":UH=1:UP=0:UG$="[212]EACHER [201]NST":GOSUB850
502 PRINT" [212]O THE BEST OF OUR KNOWLEDGE,"
503 PRINT" THIS PROGRAM IS IN THE PUBLIC"
504 PRINT" DOMAIN. [201]F THIS IS NOT TRUE,"
505 PRINT" PLEASE CONTACT:"
506 PRINT" [195][207][205][205][207][196][207][210][197][160][194][213][211][201][206][197][211][211][160][205][193][195][200][201][206][197][211]"
507 PRINT" 3370 [208]HARMACY [193]VE.
508 [153]" ATNGINCOURT, (null)NTARIO"
509 [153]" LENANADA, (null)1(null) 2(null)4"
510 [153]" (416) 499-4292"
511 UH[178]1:[141]835:[141]850
512 [153]" (null)ROGRAM (null)AME: (null)AKING LENHANGE"
513 [153]" (null)RITTEN BY : (null). LEFT$URREL
514 PRINT" [210]EVISED BY : [208].[197] [211]ULLIVAN":PRINTSPC(20);"[202]IM [205]UNRO"
515 PRINT" [212]HIS PROGRAM WILL RUN ON ANY"
516 PRINT" [194][193][211][201][195][160]2.0 [208][197][212] [195]OMPUTER
517 [153]" PEEKATN(null)RIGHT$LEN 4.0 (null)VAL(null)CLOSELENOMPUTER
518 PRINT" 8032 [195][194][205] [195]OMPUTER
519 [153]" LENOMMODORE 64 LENOMPUTER
585 GOSUB835
598 IF UZ=1THENSYSUP%:GOTO155
599 RETURN
700 PRINTUC$"[147]BEFORE RUNNING THIS PROGRAM ON AN 8032
705 [153]" LOAD THE 'CBM 4032' PROGRAM":[128]
800 [153]"LOAD";:[151]UT,UU%:[139]UW[178]0[167][151]UY,1:[151]UX,14
801 [129]I[178]1[164]38:[153]" WAIT";:[130]
802 [129]I[178]1[164]22:[153]"CMD WAIT";:[130]
803 [129]I[178]1[164]37:[153]"CMDCMD WAIT";:[130]
804 [129]I[178]1[164]22:[153]"ONCMD WAIT";:[130]
805 [153]"STEP WAIT
806 PRINT" [146] [146][169]
807 [153]" WAIT TAB((null)WAIT O M M O D O R E
808 PRINT"[223] [146]
809 [153]"EDUCATIONAL
810 PRINT"SOFTWARE
811 [153]"1983
812 PRINTLEFT$(UD$,24);"PRESS SPACE BAR OR WAIT[146]"UC$:UI=0
813 GETUI$:IFUI$<>" "THENUI=UI+1:IFUI<250THEN813
814 GOTO300
835 POKEUN,0:PRINTLEFT$(UD$,24);"PRESS SPACE BAR TO CONTINUE[146]"
840 GETUI$:IFUI$<>" "THEN840
845 RETURN
850 UP=UP+1:PRINT"[147]"LEFT$(UT$+UP$,21);RIGHT$(UP$+UG$+STR$(UP),18)
855 PRINT" --------------------------------------"
860 IFUH=0THENPRINTLEFT$(UD$,24);LEFT$(UP$,7);"HELP - PRESS H <RETURN>"
865 UH=0:PRINT"":RETURN
875 PRINTLEFT$(UD$,24);" ONE MOMENT PLEASE... ":RETURN
900 UX$="H":US=32768:U1=196:U2=197:U3=198:U4=216:UC=167:UB=1024:UD=1084:UE=1105
901 UT=59468:UU%=12:UL%=14:UP%=1158:UN=158:POKE50003,0:UW=PEEK(50003):UF=PEEK(53)
902 IFUW=0THENUS=1024:U1=209:U2=210:U3=211:U4=214:UC=204:UB=2048:UX=53280:UD=2064
903 IFUW=0THENUT=53272:UU%=21:UL%=23:UP%=2151:UN=198:UY=53281:UU=2199:UE=2087
904 UC$=CHR$(155):UV=1214:IFUW=0THENUF=196:UV=2238
905 UD$="":UP$=" "
909 RETURN
910 GOSUB900:PRINT"[147]":PRINT"[160]":REM SHIFTED SPACE
915 IFPEEK(US+40)<>96THEN700
920 IF(FRE(0)-(SGN(FRE(0))<0)*65536)>500THEN935
925 PRINTUC$"[147]THIS MACHINE DOES NOT HAVE ENOUGH"
930 PRINT"MEMORY TO RUN THIS PROGRAM !":SYSUE:END
935 PRINT"[147]"UC$:IFUW=0THEN965
940 IFUF=60ORUF=108ORUF=124THEN950
945 POKE52,0:POKE53,UF-4:CLR:GOSUB900
950 IFUW=160THENPOKE1103,88:POKE1104,228:POKE1107,85:POKE1111,228:GOTO965
955 IFUW<>1THENPRINT"[147]THIS PGM WILL NOT WORK ON THIS MACHINE!":SYSUE:END
960 POKE1103,49:POKE1104,230:POKE1107,46:POKE1111,230:GOTO965
965 SYSUD
970 GOSUB800:GOTO300
1000 IFUZ=1THENSYSUP%:SYSUP%:UZ=0
1001 PRINT"[147]"UC$;:RESTORE:IFUW=0THENPOKEUY,6:POKEUX,14
1005 RESTORE
1010 FORT=10TO1STEP-1:READNM$(T):NEXTT
1015 FORT=1TO10:READDN(T):NEXTT
1120 SO=0:SC=0:UP=0
1150 DATA" PENNIES","NICKELS "," DIMES","QUARTERS "," FIFTY CENT PIECES"
1160 DATA"$1 BILLS "," $2 BILLS","$5 BILLS "," $10 BILLS","$20 BILLS "
1180 DATA2000,1000,500,200,100,50,25,10,5,1
1240 BA=0:A=INT(1+RND(1)*2500)/100:TE$=""
1250 A$=STR$(A):IFMID$(A$,LEN(A$)-1,1)="."THENA$=A$+"0"
1254 POKE UT,UL%
1255 UG$="[208]ROBLEM":UT$=" [205]AKING [195]HANGE"
1260 GOSUB 850
1261 A$=RIGHT$(A$,LEN(A$)-1)
1265 PRINT" [203]EY IN THE PROPER NUMBER OF EACH"
1266 PRINT " UNIT OF MONEY NEEDED TO PRODUCE"
1267 PRINT " A SUM OF $";A$;" USING THE SMALLEST"
1268 PRINT " NUMBER OF COINS AND BILLS."
1270 PRINT " ";NM$(1),NM$(2)
1272 PRINT " ";NM$(3),NM$(4)
1274 PRINT " ";NM$(5),NM$(6)
1276 PRINT " ";NM$(7),NM$(8)
1278 PRINT " ";NM$(9),NM$(10)
1279 PRINT "[145][145][145][145][145][145][145][145][145]";
1280 FORT=0TO4
1283 PRINT" ";:US$="H01234":UL=1:GOSUB35
1284 AN$(2*T+1)=UR$
1285 PRINT "[145]";
1286 GOSUB35
1287 AN$(2*T+2)=UR$
1290 PRINT
1291 NEXT T
1292 UP=UP-1:GOSUB 850:PRINT""
1295 FORT=2TO9:IFVAL(AN$(T))>=2ANDT<>4ANDT<>8THENTE$="YES"
1296 NEXTT:IFVAL(AN$(8))=>3ORVAL(AN$(8))=>3THENTE$="YES"
1300 FORT=1TO10
1310 BA=BA+VAL(AN$(T))*DN(T):NEXTT
1320 PRINT" [217]OUR ANSWER IS $";BA/100
1330 IFVAL(STR$(BA/100))><VAL(A$)THEN1350
1340 PRINT" [217]OU ARE CORRECT."::SC=SC+1:SO=SO+1
1341 IF TE$<>"YES" THEN 1360
1346 PRINT"[145] BUT YOU COULD"
1347 PRINT" HAVE DONE IT USING FEWER COINS.":GOTO 1360
1350 SO=SO+1:PRINT" [217]OU ARE INCORRECT."
1360 PRINT" [217]OUR SCORE IS";SC;"OUT OF";SO;"."
1370 PRINT" [196]O YOU WANT TO PLAY AGAIN? ";:US$="HYN":UL=1:GOSUB35
1380 IFUR$="Y"GOTO1240:BA=0
1390 RETURN